1. Field of the Invention
The present invention relates to an improved data processing system and, in particular, to a method and apparatus for multicomputer data transferring. Still more particularly, the present invention provides a method and apparatus for a computer-to-computer message system.
2. Description of Related Art
The development of computer networks and the ability for digital communication between data processing systems has enabled new forms of communication, such as the transmission of documents by facsimile and electronic mail. Electronic mail, or e-mail, is merely the transmission of a digitally encoded file from one data processing system to another data processing system, with storage provided at one or both ends of the transmission system. It is common for a data processing system to automatically alert a recipient of an incoming e-mail message, and the recipient may subsequently view the message, print the message, respond to the message, forward the message, etc. Depending upon the types of data contained in the e-mail message, the contents of the message may be presented in a variety of manners, including replay of video data and/or audio data. As used herein, the term xe2x80x9celectronic mailxe2x80x9d or xe2x80x9ce-mailxe2x80x9d encompasses all types of digital files that can be sent between data processing systems based upon digital network addresses of either users, systems, networks, devices, etc., regardless of the type of transmission protocol that is used to support the data containing the message content across one or more transmission media.
Because of the wide variety of content types that may be transmitted in this manner, e-mail has become extremely popular, and the number of e-mail messages continues to grow at an accelerating rate. E-mail has become an effective tool that easily allows the dissemination of information, whether in a business or organizational management context or in a personal context. Within these different types of contexts, it is now common to manage address lists of persons or organizations to be contacted through e-mail when the need arises for quick dissemination of particular types information. In fact, a person generally manages multiple address lists in which each address list pertains to a particular function, purpose, type of information, etc.
These address lists facilitate the transmission of e-mail messages to a plurality of addresses, and an address list may be arbitrarily large. As a consequence, a single e-mail file may be disseminated as a large number of copies of the original e-mail file in correlation with the number of addresses within a particular e-mail recipient list. Although the recipient list for an e-mail message may be as small as a single address, the recipient list may contain a large number of addresses conglomerated from more than one address list.
An e-mail address provides a sender with a standard identifier for a recipient that is relatively easy to remember; the recipient is not required to know the recipient""s type of message delivery system nor its supported message protocols. While knowing transmission-enabling information about a single recipient""s message delivery system might have been acceptable many years ago, it is not practical to require anyone to know such information about all persons on multiple address lists. For example, several message transmission protocol standards exist, but a sender is typically relieved of dealing with these standards; once a message is addressed, most message systems deliver the message by negotiating the transfer of the message in the appropriate message transmission protocol in a manner that is transparent to the sender of the message.
In order to assist message originators in tracking the dispersion of messages, many message systems provide the ability to automatically generate a message acknowledgment, sometimes termed a xe2x80x9cmessage return receiptxe2x80x9d or a xe2x80x9cdelivery status notificationxe2x80x9d. When a data processing system sends a message to another data processing system, the receiving system may automatically generate an acknowledgment of its receipt. In general, the receiving system sends to the transmitting system a unique message, which contains some type of identifying information for allowing the transmitting system to correlate the incoming receipt message with the originally transmitted message. The transmitting system may subsequently notify the sender that the message was received at the receiving system and/or perform various accounting duties relating to the original message.
These acknowledgment messages are individually generated upon receipt of each copy of the original message at each destination address specified in the original message. If the sender uses a large number of destination addresses in the original message, which is quite easy to do through the use of address lists, then the number of return receipts can easily become quite large. It can be become quite difficult to manage and track large numbers of message acknowledgments.
In addition to reconciling multiple acknowledgments for a single message, some message delivery protocols provide multiple status,types for delivery notification. Hence, a single original message may consequently receive a plurality of return receipts with a variety of delivery statuses. At any given point in time, a user may have many active or outstanding messages for which he or she is anticipating return receipts. It may be quite difficult for the originator of a message to accept multiple return receipts for several original messages, reconcile the return receipts with their originating message, and determine the extent to which an original message was successfully delivered to its intended recipients.
Therefore, it would be advantageous to provide a method and system for the determination of a single delivery status of a message sent to multiple recipients. It would be particularly advantageous to provide a methodology that allows the message to be transmitted or transferred through multiple message protocols.
The present invention is a method, system, apparatus, or computer program product for the determination of a single delivery status of a message sent to multiple recipients which also allows the message to be transmitted or transferred through multiple message protocols, such as Extended Simple Message Transfer Protocol (ESMTP), Messaging Application Programming Interface (MAPI), and Vendor Independent Messaging (VIM). A sender generates an original message that is intended to be sent to multiple recipients. When a delivery status notification is received from a recipient, the delivery status notification contains a protocol-specific delivery status code. The protocol-specific status codes of multiple messaging protocols are mapped to a protocol-neutral set of status codes that can be commonly applied to any given messaging protocol. An overall protocol-neutral delivery status code for the original message can be computed based upon protocol-neutral status codes for a plurality of delivery status notifications received from a plurality of recipients of the original message. An envelope identifier can be associated with the original message to facilitate tracking and reconciliation of delivery status notifications. A time-out period for receipt of delivery status notifications can be associated with the original message.